{
  "metadata": {
    "language_info": {
      "codemirror_mode": {
        "name": "python",
        "version": 3
      },
      "file_extension": ".py",
      "mimetype": "text/x-python",
      "name": "python",
      "nbconvert_exporter": "python",
      "pygments_lexer": "ipython3",
      "version": "3.8"
    },
    "kernelspec": {
      "name": "python",
      "display_name": "Pyolite",
      "language": "python"
    },
    "colab": {
      "name": "6.ipynb",
      "provenance": [],
      "toc_visible": true
    }
  },
  "nbformat_minor": 0,
  "nbformat": 4,
  "cells": [
    {
      "cell_type": "markdown",
      "source": [
        "矩形脉冲波形的占空比\n",
        "\n",
        "此示例说明如何创建矩形脉冲波形并测量其占空比。您可以将矩形脉冲波形想象成一系列的开启和关闭状态。一个脉冲周期是一个开启和关闭状态的总持续时间。脉冲宽度是开启状态的持续时间。占空比是脉冲宽度与脉冲周期的比率。矩形脉冲的占空比描述脉冲处于开启状态的时间占一个脉冲周期的比率。\n",
        "\n",
        "创建一个以 1 千兆赫采样的矩形脉冲。脉冲处于开启状态（即等于 1），持续时间为 1 微秒。如果脉冲处于关闭状态（即等于 0），持续时间为 3 微秒。脉冲周期为 4 微秒。绘制波形。"
      ],
      "metadata": {
        "id": "3RVgsFA85Oqo"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "import numpy as np\n",
        "from matplotlib import pyplot as plt"
      ],
      "metadata": {
        "trusted": true,
        "id": "y9k8TMGW5Oqt"
      },
      "execution_count": 1,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "fs = 1e9\n",
        "T = 4e-6\n",
        "t = np.arange(0, 10*T, 1/fs)\n",
        "width = 1e-6\n",
        "\n",
        "pulsewidth = 1e-6\n",
        "pulseperiod = np.arange(0, 11, 1)\n",
        "pulseperiods = 4e-6 * pulseperiod"
      ],
      "metadata": {
        "trusted": true,
        "id": "3ijgZBTO5Oqv"
      },
      "execution_count": 2,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "def rect_wav(x, width, T):\n",
        "    period = x % T\n",
        "    if period < width:\n",
        "        r = 1\n",
        "    else:\n",
        "        r = 0\n",
        "    return r"
      ],
      "metadata": {
        "trusted": true,
        "id": "1p3vaLzE5Oqw"
      },
      "execution_count": 3,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "y = np.array([rect_wav(x, width, T) for x in t])\n",
        "mid = (max(y) + min(y)) / 2\n",
        "line = np.ones(len(t)) * mid"
      ],
      "metadata": {
        "trusted": true,
        "id": "_p03U4y95Oqw"
      },
      "execution_count": 4,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "plt.plot(t, y)\n",
        "plt.axis([0, 4e-5, -0.5, 1.5])\n",
        "plt.plot(t, line, 'r')\n",
        "plt.show()"
      ],
      "metadata": {
        "trusted": true,
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 282
        },
        "id": "UVnQi24s5Oqx",
        "outputId": "15b6da9c-216b-49fe-b10b-b2174c888e94"
      },
      "execution_count": 5,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ],
            "image/png": "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\n"
          },
          "metadata": {
            "needs_background": "light"
          }
        }
      ]
    },
    {
      "cell_type": "markdown",
      "source": [
        "使用 dutycycle 确定波形的占空比。输入脉冲波形和采样率以输出占空比。dutycycle 为每个检测到的脉冲输出占空比值。"
      ],
      "metadata": {
        "id": "ESNwA9SZ5Oqy"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "def dutycycle(x, T, fs):\n",
        "    l = int(len(x)/fs//T)\n",
        "    samples = int(len(x) / l)\n",
        "    D = np.zeros(l)\n",
        "    for i in range (l):\n",
        "        T0 = x[i * samples:(i + 1) * samples]\n",
        "        D[i] = np.sum(T0 == 1)/len(T0)\n",
        "    return D"
      ],
      "metadata": {
        "trusted": true,
        "id": "EF9eVFU65Oqy"
      },
      "execution_count": 6,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "source": [
        "在此示例中，每个检测到的脉冲的占空比是相同的，都等于 0.25。这是预期的占空比，因为脉冲在每 4 微秒的周期内开启 1 微秒，关闭 3 微秒。因此，脉冲在每个周期的 1/4 内处于开启状态。以百分比表示，这等于 25% 的占空比。"
      ],
      "metadata": {
        "id": "m2nCZEvA5Oqz"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "D = dutycycle(y, T, fs)\n",
        "print(D)"
      ],
      "metadata": {
        "trusted": true,
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "IO4SpXy25Oq0",
        "outputId": "193ecbde-44bf-4c9f-b04f-e3dc9db71b38"
      },
      "execution_count": 7,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25]\n"
          ]
        }
      ]
    },
    {
      "cell_type": "markdown",
      "source": [
        "使用相同的采样率和脉冲周期，以循环方式将脉冲开启时间（脉冲宽度）从 1 微秒更改到 3 微秒，并计算占空比。绘制循环中每步的脉冲波形，并在绘图标题中显示占空比值。占空比随着脉冲宽度的增加从 0.25 (1/4) 增加到 0.75 (3/4)。"
      ],
      "metadata": {
        "id": "X_Poy4b65Oq0"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "compare = np.array([1, 2, 3])\n",
        "com = np.zeros([3, len(t)])\n",
        "for i in compare:\n",
        "    print(i)\n",
        "    com[i-1] = np.array([rect_wav(x, i * width, T) for x in t])\n",
        "    \n",
        "    plt.subplot(3,1,i)\n",
        "    plt.plot(t, com[i-1])\n",
        "    plt.axis([0, 4e-5, -0.5, 1.5])\n",
        "    \n",
        "    D = dutycycle(com[i-1], T, fs)\n",
        "    plt.title('Duty cycle is %.2f' %np.mean(D))\n",
        "plt.show()"
      ],
      "metadata": {
        "trusted": true,
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 345
        },
        "id": "uU_6G69Y5Oq1",
        "outputId": "351c5eb5-4f22-4fd9-eb5d-246b027896f6"
      },
      "execution_count": 8,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "1\n",
            "2\n",
            "3\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 432x288 with 3 Axes>"
            ],
            "image/png": "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\n"
          },
          "metadata": {
            "needs_background": "light"
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        ""
      ],
      "metadata": {
        "id": "hep1UiDN5Oq1"
      },
      "execution_count": 8,
      "outputs": []
    }
  ]
}